--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / docs / agents / skills / exploratory-testing / SKILL.md
Displaying Raw • View rendered • Download
docs/agents/skills/exploratory-testing/SKILL.md 68e6d65c5371c3bd2c85be20f9286a0b4fffdc3d (68e6d65c) Text, 1.89 KB
Tc9d1d9# Skill: exploratory-testing
Hunt bugs with explicit hypotheses and oracle-backed confirmation. Use when the user asks to find bugs, fuzz a subsystem, or audit edge cases beyond happy-path unit tests.
Tc9d1d9## When to use
Tff7b72- New or recently changed mesh protocols (RNS, LXMF, LXST, RRC)
Tff7b72- Security-sensitive surfaces (ACL, keys, auth, path handling)
Tff7b72- After a feature lands and needs adversarial review
Tff7b72- Soft fuzz suites that need real oracles
Tc9d1d9## Method
Tff7b721. Map the state machine or ACL matrix from code (not from memory alone).
Tff7b722. Write 5 to 15 concrete hypotheses (Hn) with file references and predicted wrong behaviour.
Tff7b723. For each high-priority hypothesis, write a failing oracle test first when possible.
Tff7b724. Confirm with a focused pytest or vitest run. Fix only confirmed bugs unless asked to report only.
Tff7b725. Record intentional behaviours (example IRC-style outside messages without +n) instead of changing them by accident.
Tc9d1d9## Hypothesis quality
Good:
Tff7b72- Non-member PART fans PARTED to real members (server.py _handle_part)
Tff7b72- Kick ERROR leaves client still in hub.rooms (manager.py _handle_error)
Bad:
Tff7b72- Maybe something is wrong with chat
Tff7b72- Fuzz random bytes and ensure no crash
Tc9d1d9## Priority order for mesh hubs and clients
Tff7b721. ACL ordering (founder/op promotion before +k / +i)
Tff7b722. Membership lies (phantom JOIN/PART, kick without peer notify)
Tff7b723. Client/hub desync on ERROR
Tff7b724. Persistence roundtrips (TOML, CBOR history, encrypted keys)
Tff7b725. Rate limits and DoS stuck states
Tff7b726. Cross-identity leakage
Tc9d1d9## Deliverable shape
When reporting to the user:
Tff7b72- Confirmed bugs (fixed or still open)
Tff7b72- Oracle tests added
Tff7b72- Intentional behaviours left alone
Tff7b72- Remaining hypotheses not yet tested
Tc9d1d9## Related
Tff7b72- Ta5d6ff`docs/agents/skills/test-oracles/SKILL.md`
Tff7b72- Ta5d6ff`docs/agents/skills/rrc-relay-chat/SKILL.md`
Tff7b72- Ta5d6ff`docs/agents/skills/reticulum-design-gates/SKILL.md`
Tff7b72- Ta5d6ff`docs/agents/conventions/tests.md`
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────